package com.gpframework.module.ctn.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @ClassName GpNigeriaWarehouseReleaseVo
 * @Author gpframework
 * @Date 2024-01-08
 * @Version 1.0.0
 * @Description 尼仓库放货Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpNigeriaWarehouseReleaseExcel {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @Excel(name = "备注")
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 订单ID */
    @Excel(name = "订单ID")
    @ApiModelProperty("订单ID")
    private Long receiptId;

    /** 打包信息ID */
    @Excel(name = "打包信息ID")
    @ApiModelProperty("打包信息ID")
    private Long packId;

    /** 定货柜ID */
    @Excel(name = "定货柜ID")
    @ApiModelProperty("定货柜ID")
    private Long ctnOrderId;


    /** 散货信息ID */
    @Excel(name = "散货信息ID")
    @ApiModelProperty("散货信息ID")
    private Long sackId;

    /** 货柜安排ID */
    @Excel(name = "货柜安排ID")
    @ApiModelProperty("货柜安排ID")
    private Long ctnArabgeId;

    /** 清关公司ID */
    @Excel(name = "清关公司ID")
    @ApiModelProperty("清关公司ID")
    private Long agentCompanyId;

    /** 品牌id */
    @Excel(name = "品牌id")
    @ApiModelProperty("品牌id")
    private Long brandId;

    /** 店铺id */
    @Excel(name = "店铺id")
    @ApiModelProperty("店铺id")
    private Long storeId;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    @ApiModelProperty("店铺名称")
    private String storeName;

    /** 货柜序货柜序号 */
    @Excel(name = "货柜序货柜序号")
    @ApiModelProperty("货柜序货柜序号")
    private String agentCtnNo;

    /** 清关公司名称 */
    @Excel(name = "清关公司名称")
    @ApiModelProperty("清关公司名称")
    private String agentCompany;

    /** 尼仓库放货日期 */
    @Excel(name = "尼仓库放货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("尼仓库放货日期")
    private Date nigeriaReleaseDate;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String supplier;

    /** 供应商号码 */
    @Excel(name = "供应商号码")
    @ApiModelProperty("供应商号码")
    private String supplierTel;

    /** 客户名 */
    @Excel(name = "客户名")
    @ApiModelProperty("客户名")
    private String customer;

    /** 客户电话号码 */
    @Excel(name = "客户电话号码")
    @ApiModelProperty("客户电话号码")
    private String customerTel;

    /** 进仓单号 */
    @Excel(name = "进仓单号")
    @ApiModelProperty("进仓单号")
    private String receiptNo;

    /** 包号 */
    @Excel(name = "包号")
    @ApiModelProperty("包号")
    private String packNo;

    /** 货物描述 */
    @Excel(name = "货物描述")
    @ApiModelProperty("货物描述")
    private String goodsDescription;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /** 重量（KG） */
    @Excel(name = "重量", readConverterExp = "K=G")
    @ApiModelProperty("重量（KG）")
    private BigDecimal weight;

    /** 方cbm */
    @Excel(name = "方cbm")
    @ApiModelProperty("方cbm")
    private BigDecimal cbm;

    /** 是否扣货:0否 1是 */
    @Excel(name = "是否扣货:0否 1是")
    @ApiModelProperty("是否扣货:0否 1是")
    private String holdOrNot;

    /** 货柜号 */
    @Excel(name = "货柜号")
    @ApiModelProperty("货柜号")
    private String ctnNo;

    /** 封条号 */
    @Excel(name = "封条号")
    @ApiModelProperty("封条号")
    private String sealNo;

    /** 提单号 */
    @Excel(name = "提单号")
    @ApiModelProperty("提单号")
    private String billNo;

    /** 走柜日 */
    @Excel(name = "走柜日", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("走柜日")
    private Date loadedDate;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty("数量")
    private String number;

    /** 操作人id */
    @Excel(name = "操作人id")
    @ApiModelProperty("操作人id")
    private Long operatorId;

    /** 操作人 */
    @Excel(name = "操作人")
    @ApiModelProperty("操作人")
    private String operatorName;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;


    /**
     * 下标
     */
    @ApiModelProperty("下标")
    private int subscript;

    /**
     * 导入提示
     */
    @ApiModelProperty("导入提示")
    private String msg;

    public static List<GpNigeriaWarehouseReleaseExcel> list() {
        List<GpNigeriaWarehouseReleaseExcel> list = new ArrayList<>();
        list.add(new GpNigeriaWarehouseReleaseExcel());
        return list;
    }
}
